.\"	$NetBSD: menu_item_current.3,v 1.9 2003/04/16 13:35:10 wiz Exp $
.\"
.\" Copyright (c) 1999
.\"	Brett Lymn - blymn@baea.com.au, brett_lymn@yahoo.com.au
.\"
.\" This code is donated to The NetBSD Foundation by the author.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. The name of the Author may not be used to endorse or promote
.\"    products derived from this software without specific prior written
.\"    permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd September 10, 1999
.Dt MENU_ITEM_CURRENT 3
.Os
.Sh NAME
.Nm current_item ,
.Nm item_index ,
.Nm set_current_item ,
.Nm set_top_row
.Nm top_row
.Nd get or set item pointers or top row
.Sh LIBRARY
.Lb libmenu
.Sh SYNOPSIS
.In menu.h
.Ft ITEM *
.Fn current_item "MENU *menu"
.Ft int
.Fn item_index "ITEM *item"
.Ft int
.Fn set_current_item "MENU *menu" "ITEM *item"
.Ft int
.Fn set_top_row "MENU *menu" "int row"
.Ft int
.Fn top_row "MENU *menu"
.Sh DESCRIPTION
The
.Fn current_item
returns a pointer to the current menu item.
The
.Fn set_current_item
can be used to set this to the item give.
The
.Fn item_index
function returns the index number in the array of items for the item
pointed to by the
.Fa item
parameter.
The
.Fn set_top_row
function sets the top row of the menu displayed to be the row given.
The current item becomes the leftmost item of the top row.
The
.Fn top_row
call returns the row number that is currently at the top of the
displayed menu.
.Sh RETURN VALUES
.Fn current_item
returns NULL if no items are attached to the menu.
.Pp
.Bl -tag -width E_NOT_CONNECTED -compact
.It Er E_OK
The function was successful.
.It Er E_BAD_ARGUMENT
One or more of the arguments passed to the function was incorrect.
.It Er E_BAD_STATE
The function was called from within an initialization or termination
routine.
.It Er E_NOT_CONNECTED
The item is not connected to a menu.
.El
.Sh SEE ALSO
.Xr curses 3 ,
.Xr menus 3
.Sh NOTES
The header
.Pa \*[Lt]menu.h\*[Gt]
automatically includes both
.Pa \*[Lt]curses.h\*[Gt]
and
.Pa \*[Lt]eti.h\*[Gt] .
